/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package centralehotelweb.bean;

import centralehotel.exception.ObjetNonTrouveException;
import centralehotel.metier.backoffice.InscriptionHotelMetierLocal;
import centralehotel.modele.FicheHotel;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.ListDataModel;




/**
 *
 * @author noel
 */
public class TdbGestionnaireBean extends AbstractBean{
    @EJB
    private InscriptionHotelMetierLocal inscriptionHotelMetier;
    
    private ListDataModel listeSelectHotel;
    
    private String test;
    
    public String editer()
    {
        // definit l'hotel à modifier dans le bean de modification Hotel
        ((InscriptionHotelBean) getBean("InscriptionHotelBean")).setHotel((FicheHotel)getListeSelectHotel().getRowData());
        return "goToEditHotel";
    }
    
     public String ajoutHotel(){
          ((InscriptionHotelBean) getBean("InscriptionHotelBean")).setHotel(new FicheHotel());
          
          return "ajoutHotel";
     }
    
     public void supprimer()
    {
        
        try {
            
            FicheHotel hot = (FicheHotel) getListeSelectHotel().getRowData();
            inscriptionHotelMetier.SupprimerHotel(hot);
            addMessage(FacesMessage.SEVERITY_INFO, "Hotel supprimé");
            // force la mise à jour des données
            listeSelectHotel=null;
            majListeHotels();
            
        } catch (ObjetNonTrouveException ex) {
            addMessage(FacesMessage.SEVERITY_ERROR, "Impossible de supprimer l'hotel");
        }
    }

    public String getTest()
    {
        System.out.println("Clic sur le bouton Editer");
        test = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id");
        System.out.println("PARAM = " +test);
        return test;
    }

    public void setTest(String test)
    {
        this.test = test;
    }

    public ListDataModel getListeSelectHotel() {
        
        if(listeSelectHotel==null)
            listeSelectHotel=new ListDataModel((List) getLoginBean().getGestionnaire().getFicheHotelCollection());
        
        return listeSelectHotel;
    }

    public void setListeSelectHotel(ListDataModel listeSelectHotel) {
        this.listeSelectHotel = listeSelectHotel;
    }

    private void majListeHotels() {
       getLoginBean().getGestionnaire().setFicheHotelCollection(inscriptionHotelMetier.getHotelsByGestionnaire(getLoginBean().getGestionnaire()));
    }

}
